package awt.Listener;

import java.awt.*;
import java.awt.event.*;

/**
 * @author xiaoqi
 * @data 2021/05/15 15:29
 */
public class EventDemo2 {
    Frame frame = new Frame("测试事件监听器");
    TextField tf = new TextField(30);
    Choice names = new Choice();
    public void init(){
        //组装界面
        names.add("Alice");
        names.add("Bob");
        names.add("乔丹");
        names.add("张无忌");
        frame.add(names, BorderLayout.WEST);
        frame.add(tf, BorderLayout.CENTER);
        //设置条目监听器
        names.addItemListener(new ItemListener() {
            @Override
            public void itemStateChanged(ItemEvent e) {
                Object item = e.getItem();
                System.out.println("当前选中的是: " + item);
            }
        });
        //给tf设置监听器
        tf.addTextListener(new TextListener() {
            @Override
            public void textValueChanged(TextEvent e) {
                String text = tf.getText();
                System.out.println("当前文本框内容为：" + text);
            }
        });
        //frame设置监听器
        frame.addContainerListener(new ContainerListener() {
            @Override
            public void componentAdded(ContainerEvent e) {
                Component child = e.getChild();
                System.out.println("当前添加了： " + child);
            }

            @Override
            public void componentRemoved(ContainerEvent e) {

            }
        });
        //设置可见，大小，位置
        frame.setLocationRelativeTo(null);
        frame.pack();
        frame.setVisible(true);
        //关闭窗口
        frame.addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                //关闭窗口
                frame.setVisible(false);
            }
        });
    }
    public static void main(String[] args) {
        new EventDemo2().init();
    }
}
